﻿# -*- coding:utf-8 -*-
#
# echo
#
import os
from django import forms
from django.forms.models import inlineformset_factory
from django.forms import ModelForm
from utils import validate_file_extension

from echo.models import Item, Author
      


class AuthorForm(forms.Form):  
    surname = forms.CharField(
        max_length=64,
        label='Фамилия',
        widget=forms.TextInput(attrs={'size':'50', 'placeholder':'Фамилия'}))
        
    first_name = forms.CharField(
        max_length=64,
        label='Имя',
        widget=forms.TextInput(attrs={'size':'50','placeholder':'Имя', 'readonly':''}))
        
    middle_name = forms.CharField(
        max_length=64,
        label='Отчество',
        widget=forms.TextInput(attrs={'size':'50','placeholder':'Отчество', 'readonly':''}))
        
    person_photo =  forms.FileField(
        label='Добавьте фотографию нового автора',
        validators=[validate_file_extension],
        error_messages={'invalid': (u'Тип файла фотографии должен быть ".jpg".'),
                        'length'  : (u'В имени файла фотографии должно быть не больше 80 символов.')},
        widget=forms.ClearableFileInput(attrs={'size':'55'}))
        
    bio = forms.CharField(
        widget=forms.Textarea(attrs={'cols':'50','rows':'15', 'readonly':''}),
        label='Биография')
        


class ItemForm(forms.Form):   
    author = forms.ModelChoiceField( queryset=Author.objects.all(), required=False, empty_label="Новый автор")
    item_title = forms.CharField(
        max_length=100,
        label='Название экспоната',
        widget=forms.TextInput(attrs={'size':'50','placeholder':'Название экспоната'}))
        
    item_fulltitle = forms.CharField(
        label='Полное название экспоната',
        widget=forms.TextInput(attrs={'size':'50', 'placeholder':'Полное название экспоната', 'readonly':''})) 
        
    publ_date = forms.DateTimeField(
        label='Выберите дату публикации',
        widget=forms.DateTimeInput(attrs={'placeholder':'Дата публикации'}))    
    
    item_photo = forms.FileField(
        label='Добавьте фотографию предмета',
        validators=[validate_file_extension],
        error_messages={'invalid': (u'Тип файла изображения предмета должен быть ".jpg".'),
                        'length' : (u'В имени файла фотографии должно быть не больше 80 символов.')},
        widget=forms.ClearableFileInput(attrs={'size':'55'})
        )
        
    description = forms.CharField(
        widget=forms.Textarea(attrs={'cols':'50','rows':'15','readonly':''}),
        label='Описание предмета')  #


class AuthorItemForm(ItemForm, AuthorForm): 
    pass
    

class ItemEditForm(ModelForm):

    class Meta:
        model = Item   
        exclude = ('date','user','xml_file','saved_ftp')




class AuthorEditForm(ModelForm):
    
    class Meta:
        model = Author   
        exclude = ('date','user','xml_file','saved_ftp')